package com.ybl.store.backend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ybl.store.backend.dao.entity.ManagerDO;
import com.ybl.store.backend.dto.req.ManagerSaveReqDTO;
import com.ybl.store.backend.dto.req.ManagerUpdateReqDTO;
import com.ybl.store.backend.dto.resp.ListRespDTO;
import com.ybl.store.backend.dto.resp.ManagerPageRespDTO;
import com.ybl.store.backend.dto.resp.ManagerRealNameRespDTO;
import com.ybl.store.backend.dto.resp.ManagerSaveRespDTO;

public interface ManagerService extends IService<ManagerDO> {

    /**
     * 新增店长
     *
     * @param requestParam 新增店长请求参数
     * @return 新增店长响应参数
     */
    ManagerSaveRespDTO saveManager(ManagerSaveReqDTO requestParam);

    /**
     * 删除店长
     *
     * @param id 店长 id
     */
    void deleteManagerById(Long id);

    /**
     * 修改店长
     *
     * @param requestParam 修改店长请求参数
     */
    void updateManager(ManagerUpdateReqDTO requestParam);

    /**
     * 分页查询店长
     *
     * @param pn 页码
     * @param ps 每页条目数
     * @param storeId 分店 id
     * @param realName 真实姓名
     * @return 分页查询店长响应参数
     */
    ManagerPageRespDTO pageManager(Integer pn, Integer ps, Long storeId, String realName);

    /**
     * 查询店长名列表
     *
     * @return 查询店长名列表响应参数
     */
    ListRespDTO<ManagerRealNameRespDTO> listManagerRealName();
}
